package com.stps.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.stps.DbUtils;
import com.stps.factory.DAOFactory;
import com.stps.service.NeedBookService;
import com.stps.vo.NeedBook;

public class NeedBookServiceImpl implements NeedBookService {
	private DbUtils dbc = new DbUtils();
	
	@Override
	public boolean insert(NeedBook vo) throws Exception {
		try {
			//要增加的雇员编号如果不存在，则findById()返回的结果就是null,可以增加新雇员数据的保存。
			if(DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).findById(vo.getId())==null) {
				return DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).doCreate(vo);
			}
			return false;
		}catch (Exception e) {
		    throw e ;
		}finally {
			this.dbc.close() ;
		}
	}

	@Override
	public boolean update(NeedBook vo) throws Exception {
		try {
			//要增加的雇员编号如果不存在，则findById()返回的结果就是null,可以增加新雇员数据的保存。
			return DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).doUpdate(vo);
		}catch (Exception e) {
		    throw e ;
		}finally {
			this.dbc.close() ;
		}
	}

	@Override
	public boolean delete(Integer ids) throws Exception {
		try {
			//要增加的雇员编号如果不存在，则findById()返回的结果就是null,可以增加新雇员数据的保存。
			return DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).doRemoveBatch(ids);
		}catch (Exception e) {
		    throw e ;
		}finally {
			this.dbc.close() ;
		}
	}

	@Override
	public NeedBook get(Integer ids) throws Exception {
		try {
			//要增加的雇员编号如果不存在，则findById()返回的结果就是null,可以增加新雇员数据的保存。
			return DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).findById(ids);
		}catch (Exception e) {
		    throw e ;
		}finally {
			this.dbc.close() ;
		}
	}

	@Override
	public List<NeedBook> list() throws Exception {
		try {
			//要增加的雇员编号如果不存在，则findById()返回的结果就是null,可以增加新雇员数据的保存。
			return DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).findAll();
		}catch (Exception e) {
		    throw e ;
		}finally {
			this.dbc.close() ;
		}
	}

	@Override
	public Map<String,Object> list(int currentPage,int lineSize,String column,String keyWord) throws Exception{
		try {
			//要增加的雇员编号如果不存在，则findById()返回的结果就是null,可以增加新雇员数据的保存。
			Map<String,Object> map = new HashMap<String,Object>();
			map.put("allNeedBooks",DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).findAllSplit(currentPage, lineSize, column, keyWord));
			map.put("NeedBooksCount",DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).getAllCount(column, keyWord));
			return map;
		}catch (Exception e) {
		    throw e;
		}finally {
			this.dbc.close() ;
		}
	}
	@Override
	public Map<String,Object> list(int currentPage,int lineSize,NeedBook NeedBook) throws Exception{
		try {
			//要增加的雇员编号如果不存在，则findById()返回的结果就是null,可以增加新雇员数据的保存。
			Map<String,Object> map = new HashMap<String,Object>();
			map.put("allNeedBooks",DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).findAllSplit(currentPage, lineSize, NeedBook));
			map.put("NeedBooksCount",DAOFactory.getNeedBookDAOInstance(this.dbc.getconnection()).getAllCount(NeedBook));
			return map;
		}catch (Exception e) {
		    throw e;
		}finally {
			this.dbc.close() ;
		}
	}

}





